Java is an object-oriented programming language developed by Sun Microsystems initially for the internet. However Java is now used as a universal programming language. In Java all program objects are defined in what are known as classes. One characteristic of Java is that executable Java programs are totally portable. This is achieved in that the Java compiler generates an architecture-neutral so-called Java bytecode, rather than a machine code that is specific to a computer architecture. This Java bytecode is interpreted during execution of the Java program or is translated during execution into the architecture-specific machine code of the respective CPU by a JIT (Just In Time) compiler. Any dependency on the respective operating system or the respective window interface is largely avoided with Java by the use of program libraries.
With conventional devices, which use Java source files, the Java code or Uni code is compiled by a compiler and stored in a memory of the device, which is a control computer for example. The Java object files (.-Class files) stored in the memory can be read relatively easily and decompiled for reverse engineering purposes by unauthorized third parties after the device has been delivered or circulated.